package done.easy_601_700;

import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 665. Non-decreasing Array 非递减数列
 * <p>
 * 给定一个长度为 n 的整数数组，你的任务是判断在最多改变
 * 1 个元素的情况下，该数组能否变成一个非递减数列。
 * 我们是这样定义一个非递减数列的： 对于数组中所有的
 * i (1 <= i < n)，满足 array[i] <= array[i + 1]。
 * <p>
 * 示例 1:
 * 输入: [4,2,3]
 * 输出: True
 * 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。
 * <p>
 * 示例 2:
 * 输入: [4,2,1]
 * 输出: False
 * 解释: 你不能在只改变一个元素的情况下将其变为非递减数列。
 *
 * @author 大硕
 * 2019-04-13 8:33 AM
 **/
@SuppressWarnings("all")
public class Non_DecreasingArray {

    public boolean checkPossibility(int[] nums) {
        // 190415 first
        return false;
    }

    @Test
    public void test() {
        info(checkPossibility(new int[]{4, 2, 3}));
    }
}











































/*
public boolean checkPossibility(int[] nums) {
    int count = 0;

    for (int i = 1; i < nums.length; i++) {
        // NO.1 如果后面的大于前面，就继续
        if (nums[i] >= nums[i - 1])
            continue;

        // 移位的标记 +1
        count++;

        // NO.2 大于第2个字符，
        if (i >= 2 && nums[i - 2] > nums[i])
            nums[i] = nums[i - 1];
        else
            nums[i - 1] = nums[i];
    }
    return count <= 1;
}
*/
